DEFINITION FOR LIBRARY MODULE Icon ;

FROM SYSTEM	IMPORT STRING, ADDRESS ;
FROM Workbench	IMPORT FreeListPtr, DiskObjectPtr, ToolTypeArrayPtr ;
FROM Exec	IMPORT LibraryPtr ;

CONST
  ICONNAME = "icon.library" ;

VAR
  IconBase : LibraryPtr ;

PROCEDURE FreeFreeList( freelist : FreeListPtr ) ;
PROCEDURE AddFreeList( freelist : FreeListPtr ;
		       mem	: ADDRESS ;
		       size	: LONGINT ) : BOOLEAN ;

PROCEDURE GetDiskObject( name : STRING ) : DiskObjectPtr ;
PROCEDURE PutDiskObject( name : STRING ; diskobj : DiskObjectPtr ) : BOOLEAN ;
PROCEDURE FreeDiskObject( diskobj : DiskObjectPtr ) ;
PROCEDURE FindToolType( toolTypeArray : ToolTypeArrayPtr ;
			typeName : STRING ) : STRING ;

PROCEDURE MatchToolValue( typeString : STRING ; value : STRING ) : BOOLEAN ;
PROCEDURE BumpRevision( newname, oldname : STRING ) : STRING ;

(*--- functions in V36 or higher (Release 2.0) ---*)

PROCEDURE GetDefDiskObject( type : LONGINT ) : DiskObjectPtr ;
PROCEDURE PutDefDiskObject( diskObject : DiskObjectPtr ) : BOOLEAN ;
PROCEDURE GetDiskObjectNew( name : STRING ) : DiskObjectPtr ;

(*--- functions in V37 or higher (Release 2.04) ---*)
PROCEDURE DeleteDiskObject( name : STRING ) : BOOLEAN ;

END Icon.
